home *** CD-ROM | disk | FTP | other *** search
- Attention:
-
- Open:
- o VDoom uses -5 priority on the msg task which
- leads to a deadlock when another ppctask is
- generated for example.
-
- History:
-
- - 45.17
- o PPCCallOS/M68k debug output change
-
- - 45.16
- o scheduler reg problem introduced in 45.14
- problem was that several program in parallel didn`t work anymore with 14
- o ELFLoadSeg doesn`t patch the InternalLoadSeg functions anymore because
- this causes problems.
-
- - 45.15
- o Fix illegal elf load problem(ElfLoadSeg Patch problem with scripts)
- introduced in 45.13
-
- - 45.14
- o a PPCSignal from the M68k now dispatches the task at once.
- o ppcdiss.library only loaded when needed
-
- - 45.13
- o ELFLoader enforcer hit on error case
-
- - 45.12
- o internal changes for rom version
-
- - 45.11
- o PPCELFLOADTAG_FILE extension for ElfSegLoad
-
- - 45.10
- o Minor cache area code improvements
-
- - 45.9
- o blizzard ppc changes
- o Fixed some other port problems(ISIS) i introduced with 45.6
- It`s really time i change the way how the kernel is generated
- but that would take some time.
- o PPCGetPortListAttr(,PPCPORTLISTTAG_RECEIVEDSIGNALS) bug
-
- - 45.8
- o CACHEFLUSHNO invalids the caos structure now..thought i could
- remove that one because the m68k doesn`t change anything at the
- structure but missed that i need an invalid to remove that
- from the cache...
-
- - 45.7
- o small test changes
-
- - 45.6
- o reworked the elf loader...added a missing semaphore.
- There was a small window of a list manipulation collison.
- o sigh...fixed a memtrash bug in msg2
- o ElfLoader memory problem when file had an error. Weird
- that this bug wasn`t noticed before.
- o PPCObtainPort enforcer hit fixed..Msg2old example source
-
- - 45.5
- o structure bug introduced with 45.4 fixed....caused a lot problems
-
- - 45.4
- o CTRL-C,D,E,F handling.
- If you create a synchron PPC Task, the 68k caller task waits
- for the finish of the PPC Task and these break signals.
- If a break signal is received it send the Signal to the
- PPC Task. So checking for ctrl-c should be easy and not that
- time consuming anymore.
- Only activated with tag PPCTASKTAG_BREAKSIGNAL.
- The Break Signal Server is a new Process called "PPC:CTRLHandler"
- o Inbetween BETA release problem with CON: and a signal to the base
- task instead of the msgtask which caused a crash.
-
-
- - 45.3
- o IF_CACHEFLUSHNO CallOSM68k Caos update bug fixed(Teemu Suikki)
- o WaitFinishNode list problem which could cause an enforcer hit(Fixed)
-
- - 45.2
- o Spurious Interrupt problem solved(Teemu Suikki)
- Dumbug.
-
- - 45.1
- o 45.0Beta2`s PPCCallM68k change didn`t compile..argl.
- Definitely not my day.
-
- - 45.0
- Release
-
- - 45.0Beta2
- o Removed the updating of the PPCCallOS caos.d0-d1 fields again
- BUT the PPCCallM68k caos.#? updating is there!!!!!!!!!!
-
- - 45.0Beta1
- o Final Bump
- o Default PPC stacksize 16384 instead of 8192
-
- - 44.45Beta
- o Activated custom flush routines again
- o fixed a sync problem in PPCGetmessage() and optimized it.
- o Reworked the msg#?.c examples(which were basicly only my own
- small msg test bench)
- o alias PPCSignalTask() == PPCSignal()...
- o Init Timerbase set to 0 during coldstart
- o IF_ASYNC for asynchron PPCCall#? handling
- o TASKTAG_STACKSIZE understood by PPCGetTaskAttr() on the ppc side
- o ATTENTION:
- Completely reworked the TaskHook system..forget everything described below
- o PPCINFOTAG_CPUPLL
- o PPCGetAttr() on the PPC side
- o Fixed the A4000 ram slowness(dbat mapping overruled mmu mapping)
- o Zeropage of the chipram only readable by the PPC
- o 64Bit Math
- PPCAdd64()
- PPCAdd64p()
- PPCSub64()
- PPCSub64p()
- PPCNeg64()
- PPCNeg64p()
- PPCCmp64()
- PPCCmp64p()
- PPCMulu64()
- PPCMulu64p()
- PPCMuls64()
- PPCMuls64p()
- PPCDivu64()
- PPCDivu64p()
- PPCDivs64()
- PPCDivs64p()
- PPCModu64()
- PPCModu64p()
- PPCMods64()
- PPCMods64p()
-
- o 604e now jumps into an exception for 0x1000-0x1200 exceptions instead of
- running into 603e emulation code. This case should never happen though.
- Just for a clean system.
- o PPCTASKINFOTAG_EXCEPTIONHOOK problem fixed
- o Added a new element to struct ExceptionMsg and bumped the version of this structure
- o Smarter handling of a supervisor PPC crash
- o made the old Angelmode working again(internal)
- o Fixed really really really really weird RawDoFmt crash problem...well..i wouldn`t
- really call that a fix.
- o mark zeropage GUARD to avoid speculative scheduling hits
- o extended the PPCGet/SetTaskAttr() API..the way how to pass values.
- o StopTask problem fixed
- o PPCDeleteTask() problem fixed if an other waitnode was already added.
- o PPCTASKINFOTAG_WAITFINISHTASK
- to find the parent process where you created a sync PPC Task from.
- o callm68k bug introduced with some changes lately
-
- - 44.44Beta
- o Fixed a MMU problem which only was visible with a BlizzardPPC basicly.
- Switched off the cache optimized M68k routines for the fair...no time
- to test that again...the .36-.43 fix
-
- - 44.43Beta
- o Fixed IsisPPC crash problem introduced after .36
-
- - 44.42Beta
- o More BlizzardPPC changes
-
- - 44.41Beta
- o More usage of the internal cacheflush functions
- o Slowdown problem(MMU page cleanup had a problem)
-
- - 44.40Beta
- o Added BlizzardPPC support
-
- - 44.39Beta
- o Changes in the stoneold PPCCallOS m68k routines
-
- - 44.38Beta
- o Mungwall hit introduced with 44.37Beta fixed
-
- - 44.37Beta
- o smarter memory aligning
- o PPCCacheTrashE() entry in the jumptable was corrupt
-
- - 44.36Beta
- o Added
- PPCINFOTAG_ADDCREATETASKHOOK(Forget this..see 44.45Beta)
- PPCINFOTAG_REMCREATETASKHOOK(Forget this..see 44.45Beta)
- PPCINFOTAG_ADDDELETETASKHOOK(Forget this..see 44.45Beta)
- PPCINFOTAG_REMDELETETASKHOOK(Forget this..see 44.45Beta)
- PPCTASKINFOTAG_STOPTASK
- PPCTASKINFOTAG_ELFOBJECT
- PPCTASKINFOTAG_EXCEPTIONHOOK
- for a better debugger support
- o Now PPCCreateProcess uses the tags also in the internal M68k CreateNewproc()
- for the msgtask. So you can pass NP_ tags this way directly to the msg process.
- Makes PPCTASKTAG_INPUTHANDLE, PPCTASKTAG_OUTPUTHANDLE,PPCTASKTAG_INPUTHANDLE
- obsolete.
-
- - 44.35Beta
- o instead of NIL: it uses the OS process default handle now.
-
- - 44.34Beta
- o Added IF_CACHEINVALIDAREA to the interface.h
- o Fixed the inclue cut&paste error in the CacheInvalidE() function
- o Fixed elf search for section symbol address bug
-
- - 44.33Beta
- o Renamed old CacheInvalidE to CacheTrashE and wrote a clean
- CacheInvalidE() which uses cinvl and cinvp depended on address.
- situation.
-
- - 44.32Beta
- o Well..some other msg optimizations
- o Fixed the sizeof(Body) bug in the examples/msg#? sources
- o Fixed msg4 example
- o Added msg5 example for async msgs
-
- - 44.31Beta
- o New function PPCLoadObjectTags() which can load embedded elfobjects now.
- o Some name changes...sorry..i think it`s better to change it now than never.
- PPCGetInfo() -> PPCGetAttrs()
- PPCGetObjectInfos -> PPCGetObjectAttrs()
- PPCGetTaskInfos -> PPCGetTaskAttrs()
- PPCSetTaskInfos -> PPCSetTaskAttrs()
- o PPCSetAttr()
- PPCINFOTAG_EXCEPTIONHOOK to set a system default ExceptionHook
- o fixed ELF Object resolved error output requester for a not known reloc type.
- o fixed the stack problem(Kleinert`s superview)
- o DeleteTask() now has a BOOL instead of a VOID
- and fixed a serious bug in the remove task handling which lead to enforcer hits
- and very likely a crash
- o if PPCELFLOADTAG_ELFADDRESS is specified it`s a stream..otherwise a file.
- PPCELFLOADTAG_ELFNAME overrules the Name function parameter
- o Name parameter removed
- o PPCELFLOADTAG_HOOK to overload the Elf Stream IO
- o Hook API reworked
- o Some Cache handling changes
- o Added 68040.library detection
- o Some cache msg handling changes
- o PPCSetAttr pragma was wrong
-
- - 44.30Beta
- o Used 66Mhz Busclock instead of 50Mhz busclock so that
- people don`t think they have a 150Mhz board(50Mhz*3) instead
- of a 66Mhz (66Mhz*3=200Mhz) board.
- o Optimized PPC Cacheflush
- o Optimized some communications
- o Polished the Autodocs..
-
- - 44.29Beta
- o Fixed PPCRunKernelModuleFPU hang problem
- o Initial release
-
- - 44.28Beta
- o Fixed 603e startup problem
-
- - 44.27Beta
- o Used STARTUP interface in examples/msg2
- o Added romcopy check to avoid havoc if a serious error occurs
- o Fixed ExceptionHandler problem on the 604e..weird it worked on the 603e
- o Fixed a PPCWait() return bug(H&P)
- o Added PPC IRQ to the hardware to fix the deadlock problem with the old
- PowerUP and first cyberstorm PPC under high traffic
- o Created a CauseInt function instead of the old custom intreq function
- which was a cludge anyway...let`s hope i can fix that too for the PowerUP Proto
- board.
- o Fixed PPCTool,PPCShowTasks,PPCReadByte() hang problem
- o Overkill-test bench bug fixed...(bug only in 44.27:-)
- o MMU Page now supervisor only to detect programs which are too curious:-)
- or run amok.
- o Added the following debug tools to ToolsDebug/
- o PPCShowInt
- o PPCShowTrap
- o PPCShowMMU
- o PPCSetMCP
- o PPCSetSMI
-
- - 44.26Beta
- o Fixed bss alignment problem
-
- - 44.25Beta
- o Added names to the interrupt nodes
-
- - 44.24Beta
- o PPCTASKTAG_MSGPORT didn`t free the signal it used...fixed
- o PPCDeleteTask reworked
- o Fixed a Pool Management bug
-
- - 44.23Beta
- o Fixed PPCGetTaskAttr(different proto)
- o Fixed PPCTask PPCPort creation
- o Fixed Examples/Startup.c
-
- - 44.22Beta(intermediate release)
- o CyberstormPPC support
- o CPUInfo now handles 604 clocks
- o Fixed the CACHEFLUSHAREA problem in the CallOS calls
- o Added some Cacheflush optimizing on the M68k side
- o ElfLoader error check improved..otherwise it would create an ElfObject with no .text section.
- o Improved Msg speed..removed an unnecessary cacheflush
- o CacheInvalid now also deals with non page aligned addresses
- o M68k Side functions added
- o PPCCreateWaitPortList()
- o PPCDeleteWaitPortList()
- o PPCAddWaitPortList()
- o PPCRemWaitPortList()
- o PPCWaitPortList()
- o PPCGetPortListAttr()
- o PPCSetPortListAttr()
- (!!!!!Not tested!!!!!)
- o PPC->M68k switch time improvement hopefully
- (fooled the scheduler to start the m68k task at once after a PPC interrupt)
- o fixed low memory problems in the init
- o fixed a serialized problem in the init
-
- o Fixed the PortList includes/autodocs
- o New PPCCreateTask attributes
- o PPCTASKTAG_STARTUP_MSG
- o PPCTASKTAG_STARTUP_MSGDATA
- o PPCTASKTAG_STARTUP_MSGLENGTH
- o PPCTASKTAG_STARTUP_MSGID
- which implements a new startup ppc msg which can be used to abitrate for the PPCTask exit
- as it is replied after the PPCTask was closed.
- o New PPC function
- o PPCGetTaskAttr() which supports
- o PPCTASKTAG_STARTUP_MSG
- o PPCTASKTAG_STARTUP_MSGDATA
- o PPCTASKTAG_STARTUP_MSGLENGTH
- o PPCTASKTAG_STARTUP_MSGID
- o Changed Int signal mask
- o Final CyberPPC603e,604e support(Gerald`s playground release)
-
-
- - 44.21Beta
- o Pri Constructor support
- A priviledge constructor/deconstructor can be used to force a certain
- sort on the constructor list. For a constructor it means that the one
- with the highest priority come first. For deconstructor it means that
- the one with the highest priority comes at the end of the .dtor section
- which is ran *backwards* so it`s also called as the first.
- Normal constructor/deconstructors are called after pri de/constructors.
- A pri de/constructor is defined by long Pri,long Function where Pri
- can be -4096..4095
- See constructor.h
- o BSS hunk load problem fixed.
-
-
-
- - 44.20Beta
- o Finally..this version runs stable again(Party on)
- o PPCCreateMessage also initializes not used msg fields now.
- o Removed some TypeOfMem->trap debugger stops...
-
- - 44.19Beta
- o Internal Scheduler changes to make the Semaphores working.
- o Fixed a long standing problem
- o Shrinked the size of the PPC Kernel
- o Removed the DBAT mapping for the Cyberstorm local ram which
- caused a conflict with the flexible mmu mapping system.
- o Reworked 603e mmu example code
- o Changed the whole exception create/delete intframe system
- to get it working with exceptions in supervisor(MMU).
- o Fixed Semaphores
- o Fixed Semaphore Example(Wasted searching a bug in my code)
- o A lot internal changes and
- for (;;)
- {
- printf("Debug is my second name\nNext-Terminal + tip ttyb38400 rules\n");
- }
-
- o Semaphore functions
- o PPCReleaseSemaphore()
- o PPCObtainSemaphore()
- o PPCAttemptSemaphore()
- o PPCAttemptSemaphoreShared()
- o PPCObtainSemaphoreShared()
- o PPCCreateSemaphore()
- o PPCDeleteSemaphore()
- o PPCObtainSemaphoreByName()
- o PPCObtainSemaphoreSharedByName()
- o PPCAttemptSemaphoreByName()
- o PPCAttemptSemaphoreSharedByName()
-
- o fd2inlinePPCLib output CallOS changed to PPCCallOS
-
-
- - 44.18Beta
- o Fixed another problem with the PPCDebug and the internal symbolbase
- o Fixed CallOS/CallM68k problem
-
- - 44.17Beta
- o Fixed something in symbol reloc find(PPCDebug output problem)
- o Added more internal Semaphore Function Symbols to the symbolbase
- o Fixed the last reason PPCDeletePort could ran amok
-
- - 44.16Beta
- o Forgot to init a nestcount which caused the PPCDeletePort()
- problem.(Andree)
- o UsedStack finally fixed(Sends a Prayer...:-))
-
- - 44.15Beta
- o PPCGetMessage() to PowerUPKernel autodocs added
- o PPCVersion() added
- o PPCRevision() added
- o Fixed 44.14Beta release from last night
-
- - 44.14Beta
- o IrseeSoft reminded me that i haven`t made any use of the Cachemodes
- yet in the Caos structure so i added that. Should improve certain
- switch times if the cache configs are used carefully.
- o Made PPCNextTagItem(),PPCFindTagItem(),PPCGetTagData() available
- o Internal SystemPool for coming Semaphore support
- o From now on ALL OLD PPC program don`t work anymore. SystemCall IDs
- aren`t valid anymore. See 44.9Beta
- o Added MsgID parameter to PPCSendMessage to understand what this msg is about.
- o Added PPCMSGTAG_MSGID,PPCMSGTAG_MSGTYPE attribute to ppclib/message.h
-
- - 44.13Beta
- o Added BOOL for PPCDeletePort()
-
- - 44.12Beta
- o Fixed missing PA_SIGNAL in the msgport initializing
-
- - 44.11Beta
- o Oops..sorry..the DebugRequester didn`t work correctly
-
- - 44.10Beta
- o Changed bumprev copyright msg
- o New PPC functions
- o PPCFindName
- o PPCInsertSync
- o PPCAddHeadSync
- o PPCAddTailSync
- o PPCRemoveSync
- o PPCRemHeadSync
- o PPCRemTailSync
- o PPCFindNameSync
-
- - 44.9Beta
- o Fixed PPCGetTaskInfo PPCTASKINFOTAG_PRIORTTY bug
- o Added PPCReadWord();
- o Added PPCWriteWord();
- o Added PPCReadByte();
- o Added PPCWriteByte();
- o Fixed PPCGetTaskInfo PPCTASKINFOTAG_USEDSTACKSIZE bug
- o MsgOut task now at Pri 10..this is the PPCScheduler signal task.
- o MsgIn task set at the priority of the task which creates the PPC task.
- Beware..if you`re current task runs too fast you`re responsible for the
- sideeffects that may happen when your PPC side calls m68k routines.
- You shouldn`t also change the taskpri of your currenttask in an asynchronus
- CreatePPC situation.
- o Changed some IO addressing
- o Added dynamic binding of the following functions.
- New PPC functions(Renamed some old functions..source change necessary):
- o PPCAllocMem
- o PPCFreeMem
- o PPCCallOS
- o PPCCallM68k
- o PPCOpen
- o PPCClose
- o PPCRead
- o PPCWrite
- o PPCSeek
- o PPCAllocVec
- o PPCFreeVec
- o PPCFinishTask
- o PPCSignal
- o PPCWait
- o PPCFindTask
- o PPCAllocSignal
- o PPCFreeSignal
- o PPCCacheFlush
- o PPCCacheFlushAll
- o PPCCacheInvalid
- o PPCSetSignal
- o PPCRawDoFmt
- o PPCCreatePool
- o PPCDeletePool
- o PPCAllocPooled
- o PPCFreePooled
- o PPCAllocVecPooled
- o PPCFreeVecPooled
- o PPCCreatePort
- o PPCDeletePort
- o PPCObtainPort
- o PPCReleasePort
- o PPCCreateMessage
- o PPCDeleteMessage
- o PPCGetMessage
- o PPCGetMessageAttr
- o PPCReplyMessage
- o PPCSendMessage
- o PPCWaitPort
- o strcmp
- o strcpy
- o strlen
- o memcpy
- o PPCInsert
- o PPCAddHead
- o PPCAddTail
- o PPCRemove
- o PPCRemHead
- o PPCRemTail
-
- -> LibPowerUP.a is worthless from now on. DON'T use it anymore!
- This means you have to recompile your software and add the
- prefix where it is missing.
- The reason for this general change is that we want the complete
- control over the system call ABI for a possible portation to
- another OS.
- This avoids any serious conflicts in the future.
- o PPC<->M68k OS level communication isn`t using extensive busy waits anymore on
- the PPC side which would slow down tasks.
- o New M68k ppc.library functions:
- o PPCCreatePool();
- o PPCDeletePool();
- o PPCAllocPooled();
- o PPCFreePooled();
- o PPCFreeVecPooled();
- o PPCAllocVecPooled();
- o PPCCreatePort
- o PPCDeletePort
- o PPCObtainPort
- o PPCReleasePort
- o PPCCreateMessage
- o PPCDeleteMessage
- o PPCGetMessage
- o PPCGetMessageAttr
- o PPCReplyMessage
- o PPCSendMessage
- o PPCWaitPort
- o PPCCacheClearE()
- o PPCCacheInvalidE()
-
- o Error Requestor for missing symbols
- o Added kernel function support for the symbol/reloc info functions.
- o A lot internal changes
-
- - 44.8Beta
- o Fixed a Bug in LibPowerup.a(AllocPooled) in a lowmem situation
- o Added SetSignal to PowerUP.doc/protos, removed PPCAmiga.doc(old style)
- o PPCSetTaskInfo()
- o PPCGetObjectInfo() to get ELF Symbol informations.
- Useful for special startups or expecially Debugger informations.
- (PPCDebug makes use of this already)
- o Fixed ElfLoader problem with 0 size objects...objects where the .size was
- forgotten. (LibMoto Beta)
- o Several changes in the Elfloader Symbol handling
- o Added PPCGetObjectInfo() ScanSymbolHook Tag so you could dump all symbols
- o Added PPCWriteLongFlush() to support PPCDebug breakpoints
-
- - 44.7Beta
- o Forgot 2 kprintfs in the lib from last night
-
- - 44.6Beta
- o gpr30 wasn't updated in an exception
- o gpr29 was trashed by a system call(Oops)
- (Heh..actually PPCDebug can be useful:-)
-
- - 44.5Beta
- o Tools/PPCDebug..a small example how to write a debugger for the ppc.library
- o several changes to 44.4Beta to get the debug support working
- o Fixed the Examples/#?..wasn`t uptodate to work with the latest include layout
- o 38400 Baud Debug output removed again and put into an external program to
- support people that use 300 Baud Psion Terminals
-
- - 44.4Beta(inbetween release)
- o PPCReadLong()
- o PPCWriteLong()
- o made PPCGetTaskInfo cache safe...was a bit lazy there
- o internal scheduler extension
- o Task dependent Exception Handling for a Debugger
- o Tools/PPCLoadTimer to measure the time needed by the
- PPCRunObject() call.
- o Fixed several register restore problems
- o Tools/PPCShowTasks extended..shows registers too now.
- Values should be reliable now because of the PPCGetTaskInfo()
- changes.
- o PPCStartTask();
- o PPCStopTask();
- o cleaned up PowerUP/clib/ppc_protos.h and removed some internal
- non public defined structs.
- o Register Trashing Bug fixed in the FinishTask routine caused by
- the cache fix in 44.2Beta
-
- - 44.3Beta
- o PPCTASKTAG_WAITFINISH for synchron PPCCreateTask()=PPCRunObject()
- made public.
- o Fixed FinishTask problem with PPCCreateTask()(Kleinert)
- stupid mistake
-
- - 44.2Beta
- o Fixed another hang problem(Chris Hames)
- o Fixed Cache sideeffects in ExitTask and Remtask(Not tested though:-))
-
- - 44.1Beta
- o Fixed libpowerup autodocs
- o Added function PPCSetSignal so a Checksignal doesn`t need some PPCWait() magic
- o Internal changes in the systemcall area
- o improved Exception output
- o Activated Page MMU mapping of the AmigaOS system...like the 68060 MMU mapping.
- o GCCTools/ppc-amigaos-ld2 is a new PPC linker which outputs errors for
- undefined symbols.
-
- - 44.0Beta7
- o internal
-
- - 44.0Beta6
- o Fixed FindTask,FindTaskObject crash problems
- o Fixed FinishTask problem
- o Removed 38400 Baud serial init
-
- - 44.0Beta5
- o Added Zorro3 Mapping,Removed Optimized CacheFlushing Mapping(Not used anyway yet)
-
- - 44.0Beta4
- o Fixed RunKernalModule()
- o Added RunKernalModuleFPU()
- o changed interfaces.h,interfaces.i
- o Improved Exception Output
- (Now shows offsets to the .text section which can be used with the dump of
- the ELF bin)
- o Fixed a bug in the ELF Loader(Enforcer hits) when it found a reloc section
- for a not loaded section
- o Changed link obj to a link lib...changed the names
- o added new LibAmiga.a(with Source and not complete)
-
- - 44.0Beta3
- o Changed interface.h and interface.i to support configurable CacheFlush.
- So you have to recompile your software
- o Added new PPCTASKTAGINFO_ tags
- Rethink the input/output problems
- o PPCFindTaskObject() added
- o PPCFindTask() runtask bug fixed
-
- - 44.0Beta2
- o Added the multitasking support for PPC-M68k-OS calls
- o Fixed PPCAllocSignal
- o Added PPCTASKTAG_INPUTHANDLE
- o Added PPCTASKTAG_OUTPUTHANDLE
- o Added PPCTASKTAG_ERRORHANDLE
- o Added the memfree of the task enviroment
- o Each PPC Task has a MsgIn Task now
- o Schedule Handler Task
- o Exception Handler Task
- o Scheduler disabled if no PPC Task running(no slowdown of the system)
-
- - 44.0Beta1
- o Added MultiTasking to the PPC kernel
- o ULONG RunKernelModule()
- for custom interrupt servers...a cybergfx blitengine may be one
-
- - 43.x
- old,outdated,quick hacks,not worthy
-